﻿
using System;
using System.Data.SqlClient;
using V82;
using V82.СправочникиСсылка;
using V82.Справочники;//Менеджер;
using V82.ДокументыСсылка;
using V82.Перечисления;//Ссылка;
namespace V82.Справочники//Менеджер
{
	///<summary>
	///(Общ)
	///</summary>
	public partial class ДоговорыКонтрагентов:СправочникМенеджер
	{
		
		public static СправочникиСсылка.ДоговорыКонтрагентов НайтиПоСсылке(Guid _Ссылка)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)
					Where _IDRRef=@Ссылка";
					Команда.Parameters.AddWithValue("Ссылка", _Ссылка);
					using (var Читалка = Команда.ExecuteReader())
					{
						if (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							return Ссылка;
						}
						else
						{
							return null;
						}
					}
				}
			}
		}
		
		public static СправочникиСсылка.ДоговорыКонтрагентов НайтиПоКоду(string Код)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)
					Where _Code=@Код";
					Команда.Parameters.AddWithValue("Код", Код);
					using (var Читалка = Команда.ExecuteReader())
					{
						if (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							return Ссылка;
						}
						else
						{
							return null;
						}
					}
				}
			}
		}
		
		public static СправочникиВыборка.ДоговорыКонтрагентов Выбрать()
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)  Where _Folder = 0x01 ";
					var Выборка = new V82.СправочникиВыборка.ДоговорыКонтрагентов();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.ДоговорыКонтрагентов ВыбратьПоСсылке(int Первые,Guid Мин,Guid Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)
					Where _IDRRef between @Мин and @Макс  -- and _Folder = 0x01 
					Order by _IDRRef", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.СправочникиВыборка.ДоговорыКонтрагентов();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.ДоговорыКонтрагентов ВыбратьПоКоду(int Первые,string Мин,string Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)
					Where _Code between @Мин and @Макс
					Order by _Code", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.СправочникиВыборка.ДоговорыКонтрагентов();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.ДоговорыКонтрагентов ВыбратьПоНаименованию(int Первые,string Мин,string Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)
					Where _Description between @Мин and @Макс
					Order by _Description", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.СправочникиВыборка.ДоговорыКонтрагентов();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.ДоговорыКонтрагентов СтраницаПоСсылке(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)";
					var Выборка = new V82.СправочникиВыборка.ДоговорыКонтрагентов();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.ДоговорыКонтрагентов СтраницаПоКоду(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)";
					var Выборка = new V82.СправочникиВыборка.ДоговорыКонтрагентов();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.ДоговорыКонтрагентов СтраницаПоНаименованию(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)";
					var Выборка = new V82.СправочникиВыборка.ДоговорыКонтрагентов();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static V82.СправочникиОбъект.ДоговорыКонтрагентов СоздатьЭлемент()
		{
			var Объект = new V82.СправочникиОбъект.ДоговорыКонтрагентов();
			Объект._ЭтоНовый = true;
			Объект.Ссылка = Guid.NewGuid();/*http://msdn.microsoft.com/ru-ru/library/aa379322(VS.85).aspx*/
			Объект.ЭтоГруппа = false;
			Объект.Комментарий = "";
			Объект.Номер = "";
			Объект.ВалютаВзаиморасчетов = new V82.СправочникиСсылка.Валюты();
			Объект.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка;
			Объект.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка;
			Объект.Организация = new V82.СправочникиСсылка.Организации();
			Объект.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка;
			Объект.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка;
			Объект.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка;
			Объект.ВидВзаиморасчетов = new V82.СправочникиСсылка.ВидыВзаиморасчетов();
			Объект.ОсновнаяСтатьяДвиженияДенежныхСредств = new V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств();
			Объект.НаименованиеДляСчетаФактурыНаАванс = new V82.СправочникиСсылка.Номенклатура();
			Объект.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка;
			return Объект;
		}
		
		public static V82.СправочникиОбъект.ДоговорыКонтрагентов СоздатьГруппу()
		{
			var Объект = new V82.СправочникиОбъект.ДоговорыКонтрагентов();
			Объект._ЭтоНовый = true;
			Объект.Ссылка = Guid.NewGuid();/*http://msdn.microsoft.com/ru-ru/library/aa379322(VS.85).aspx*/
			Объект.ЭтоГруппа = true;
			Объект.Комментарий = "";
			Объект.Номер = "";
			Объект.ВалютаВзаиморасчетов = new V82.СправочникиСсылка.Валюты();
			Объект.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка;
			Объект.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка;
			Объект.Организация = new V82.СправочникиСсылка.Организации();
			Объект.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка;
			Объект.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка;
			Объект.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка;
			Объект.ВидВзаиморасчетов = new V82.СправочникиСсылка.ВидыВзаиморасчетов();
			Объект.ОсновнаяСтатьяДвиженияДенежныхСредств = new V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств();
			Объект.НаименованиеДляСчетаФактурыНаАванс = new V82.СправочникиСсылка.Номенклатура();
			Объект.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка;
			return Объект;
		}
		
		public static СправочникиВыборка.ДоговорыКонтрагентов ИерархияВыбратьПоСсылке(Guid Родитель,int Режим,int Первые,Guid Мин,Guid Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)
					Where _IDRRef between @Мин and @Макс  -- and _Folder = 0x01 
					AND _ParentIDRRef = @Родитель
					Order by _IDRRef", Первые);
					Команда.Parameters.AddWithValue("Родитель", Родитель);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.СправочникиВыборка.ДоговорыКонтрагентов();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.ДоговорыКонтрагентов ИерархияСтраницаПоСсылке(Guid Родитель,int Режим,int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1062RRef [ВалютаВзаиморасчетов]
					,_Fld1063RRef [ВедениеВзаиморасчетов]
					,_Fld1069 [Комментарий]
					,_Fld1065RRef [ВидУсловийДоговора]
					,_Fld1066 [ДержатьРезервБезОплатыОграниченноеВремя]
					,_Fld1067 [ДопустимаяСуммаЗадолженности]
					,_Fld1068 [ДопустимоеЧислоДнейЗадолженности]
					,_Fld1073RRef [Организация]
					,_Fld1070 [КонтролироватьСуммуЗадолженности]
					,_Fld1071 [КонтролироватьЧислоДнейЗадолженности]
					,_Fld1072 [ОбособленныйУчетТоваровПоЗаказамПокупателей]
					,_Fld1074 [ПроцентКомиссионногоВознаграждения]
					,_Fld1076RRef [СпособРасчетаКомиссионногоВознаграждения]
					,_Fld1075 [ПроцентПредоплаты]
					,_Fld1077_TYPE [ТипЦен_Тип],_Fld1077_RRRef [ТипЦен],_Fld1077_RTRef [ТипЦен_Вид]
					,_Fld1079RRef [ВидДоговора]
					,_Fld1078 [ЧислоДнейРезерваБезОплаты]
					,_Fld1080 [УчетАгентскогоНДС]
					,_Fld1081RRef [ВидАгентскогоДоговора]
					,_Fld1083 [РасчетыВУсловныхЕдиницах]
					,_Fld1082 [КонтролироватьДенежныеСредстваКомитента]
					,_Fld1086 [РеализацияНаЭкспорт]
					,_Fld1084 [Дата]
					,_Fld1085 [Номер]
					,_Fld1064RRef [ВидВзаиморасчетов]
					,_Fld1087 [ВестиПоДокументамРасчетовСКонтрагентом]
					,_Fld1088_TYPE [ОсновнойПроект_Тип],_Fld1088_RRRef [ОсновнойПроект],_Fld1088_RTRef [ОсновнойПроект_Вид]
					,_Fld1090RRef [ОсновнаяСтатьяДвиженияДенежныхСредств]
					,_Fld1091 [СрокДействия]
					,_Fld26523RRef [НаименованиеДляСчетаФактурыНаАванс]
					,_Fld26524RRef [ПорядокРегистрацииСчетовФактурНаАвансПоДоговору]
					,_Fld26525 [НалоговыйАгентПоОплате]
					,_Fld26526 [УстановленСрокОплатыДляРезервовПоСомнительнымДолгам]
					,_Fld26527 [СрокОплатыДляРезервовПоСомнительнымДолгам]
					From _Reference45(NOLOCK)";
					var Выборка = new V82.СправочникиВыборка.ДоговорыКонтрагентов();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.ДоговорыКонтрагентов();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.ДоговорыКонтрагентов.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.ВалютаВзаиморасчетов = V82.СправочникиСсылка.Валюты.ВзятьИзКэша((byte[])Читалка.GetValue(8));
								Ссылка.ВедениеВзаиморасчетов = V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
								Ссылка.Комментарий = Читалка.GetString(10);
								Ссылка.ВидУсловийДоговора = V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(11));
								Ссылка.ДержатьРезервБезОплатыОграниченноеВремя = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ДопустимаяСуммаЗадолженности = Читалка.GetDecimal(13);
								Ссылка.ДопустимоеЧислоДнейЗадолженности = Читалка.GetDecimal(14);
								Ссылка.Организация = V82.СправочникиСсылка.Организации.ВзятьИзКэша((byte[])Читалка.GetValue(15));
								Ссылка.КонтролироватьСуммуЗадолженности = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.КонтролироватьЧислоДнейЗадолженности = ((byte[])Читалка.GetValue(17))[0]==1;
								Ссылка.ОбособленныйУчетТоваровПоЗаказамПокупателей = ((byte[])Читалка.GetValue(18))[0]==1;
								Ссылка.ПроцентКомиссионногоВознаграждения = Читалка.GetDecimal(19);
								Ссылка.СпособРасчетаКомиссионногоВознаграждения = V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20));
								Ссылка.ПроцентПредоплаты = Читалка.GetDecimal(21);
								Ссылка.ВидДоговора = V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(25));
								Ссылка.ЧислоДнейРезерваБезОплаты = Читалка.GetDecimal(26);
								Ссылка.УчетАгентскогоНДС = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ВидАгентскогоДоговора = V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28));
								Ссылка.РасчетыВУсловныхЕдиницах = ((byte[])Читалка.GetValue(29))[0]==1;
								Ссылка.КонтролироватьДенежныеСредстваКомитента = ((byte[])Читалка.GetValue(30))[0]==1;
								Ссылка.РеализацияНаЭкспорт = ((byte[])Читалка.GetValue(31))[0]==1;
								Ссылка.Дата = Читалка.GetDateTime(32);
								Ссылка.Номер = Читалка.GetString(33);
								Ссылка.ВидВзаиморасчетов = V82.СправочникиСсылка.ВидыВзаиморасчетов.ВзятьИзКэша((byte[])Читалка.GetValue(34));
								Ссылка.ВестиПоДокументамРасчетовСКонтрагентом = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.ОсновнаяСтатьяДвиженияДенежныхСредств = V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств.ВзятьИзКэша((byte[])Читалка.GetValue(39));
								Ссылка.СрокДействия = Читалка.GetDateTime(40);
								Ссылка.НаименованиеДляСчетаФактурыНаАванс = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(41));
								Ссылка.ПорядокРегистрацииСчетовФактурНаАвансПоДоговору = V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка.Получить((byte[])Читалка.GetValue(42));
								Ссылка.НалоговыйАгентПоОплате = ((byte[])Читалка.GetValue(43))[0]==1;
								Ссылка.УстановленСрокОплатыДляРезервовПоСомнительнымДолгам = ((byte[])Читалка.GetValue(44))[0]==1;
								Ссылка.СрокОплатыДляРезервовПоСомнительнымДолгам = Читалка.GetDecimal(45);
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
	}
}